import matplotlib.pyplot as plt  # 导入pyplot模块
plt.rcParams['font.sans-serif'] = ['SimHei']  # 解决中文乱码问题
plt.rcParams['axes.unicode_minus'] = False  # 解决正负号乱码问题
# 修改数据：days改为月份，precipitation调整为12个月数据
months = ['1月', '2月', '3月', '4月', '5月', '6月',
          '7月', '8月', '9月', '10月', '11月', '12月']
min_temps = [10, 12, 15, 20, 23, 25, 26, 25, 22, 18, 13, 10]  # 示例月最低温度
max_temps = [20, 22, 25, 28, 30, 32, 33, 32, 30, 27, 22, 20]  # 示例月最高温度
precipitation = [3.2, 5.1, 0.0, 0.5, 8.7, 15.4, 12.3, 2.1, 0.0, 1.2, 6.8, 20.1]  # 月降水量
# 创建画布和双Y轴
fig, ax1 = plt.subplots(figsize=(12, 6), dpi=80)
ax2 = ax1.twinx()  # 创建右侧Y轴用于降水量
# 设置网格
ax1.grid(linestyle=":", alpha=0.5)  # 添加网格
# 设置标题和标签
ax1.set_title("清远市全年温度与降水量变化图")
ax1.set_xlabel("月份")
ax1.set_ylabel("温度（单位：℃）")
ax2.set_ylabel("降水量（单位：mm）")
# 绘制温度折线图
ax1.plot(months, max_temps, 'o-', color="red", label="平均最高温度",
         markersize=8, markerfacecolor='white', markeredgecolor='red')
ax1.plot(months, min_temps, 'o-', color="blue", label="平均最低温度",
         markersize=8, markerfacecolor='white', markeredgecolor='blue')
# 绘制降水量柱状图（使用右侧Y轴）
ax2.bar(months, precipitation, width=0.5, label='降水量', color='green', alpha=0.6)
# 合并图例
lines1, labels1 = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
ax1.legend(lines1 + lines2, labels1 + labels2, loc='upper left')
plt.tight_layout()  # 调整布局
plt.show()